package com.cseg674.datamanagement.adler;

import com.hp.hpl.jena.query.ResultSet;
import com.hp.hpl.jena.util.iterator.ExtendedIterator;

	/** Interface for processing SPARQL queries.
	 *
	 **/
public interface SparqlQuerier
{
	   /**
	    * Returns a list of all the Java projects stored in the database with a
	    * Jena ExtendedIterator 
	    * 
	    * @return	An iterator for listing the project names
	    * @throws	AdlerException
	    */
    ExtendedIterator listProjects() throws AdlerException;
    
	   /**
	    * Runs a query against the specified project and returns the results in a 
	    * Jena ResultSet
	    * 
	    *  @param	project	The name of the project to query against
	    *  @param	query	The SPARQL query to submit
	    * 
	    * @return	A container with the results of the query
	    * @throws	AdlerException
	    */

    ResultSet submitQuery(String project, String query) throws AdlerException;
    
}